#ifndef _THREADPOOL_H_
#define _THREADPOOL_H_
typedef struct ThreadPool ThreadPool;

//	创建线程池并初始化
ThreadPool* thread_pool_create(int min,int max,int size);

//	销毁线程池
int thread_pool_destroy(ThreadPool* pool);

//	给线程池添加任务
void thread_pool_add_task(ThreadPool* pool, void(*func)(void*), void* arg);

//	获取线程池中工作的线程的个数
int get_thread_pool_busy_num(ThreadPool* pool);

//	获取线程池中存活的线程个数
int get_thread_pool_live_num(ThreadPool* pool);

//	线程工作函数
void* worker(void* arg);

//	管理者线程工作函数
void* manager(void* arg);

//	线程退出函数
void thread_exit(ThreadPool* pool);

#endif // _THREADPOOL_H_